package dietmar.ckm3;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.border.TitledBorder;
import javax.swing.border.LineBorder;
import java.awt.Color;
import javax.swing.JList;
import javax.swing.JButton;



import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.FileOutputStream;
import java.io.IOException;

public class LigaGuii extends JFrame {

	private JPanel contentPane;
	private Liga liga;
	private JList lista = new JList();

	
	
	
	public LigaGuii() {
		Liga liga=new Liga();
		this.liga=liga;
	


	
	
		
		
  
		

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblKlasaC = new JLabel("Klasa C");
		lblKlasaC.setFont(new Font("Tahoma", Font.PLAIN, 18));
		lblKlasaC.setBounds(10, 11, 92, 32);
		contentPane.add(lblKlasaC);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBorder(new TitledBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255), 2), "Edytor", TitledBorder.LEADING, TitledBorder.TOP, null, null), "Edytor", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setBounds(277, 60, 155, 132);
		contentPane.add(panel_1);
		panel_1.setLayout(null);
		
		JButton btnDodajKlub = new JButton("Dodaj Klub");
		btnDodajKlub.setBounds(10, 21, 135, 23);
		panel_1.add(btnDodajKlub);
		btnDodajKlub.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dodaj();
				
			
			}
		});
		
		JButton btnEdytujKlub = new JButton("Edytuj Klub");
	
		btnEdytujKlub.setBounds(10, 55, 135, 23);
		panel_1.add(btnEdytujKlub);
		btnEdytujKlub.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {

				edytuj();	
				
			}
		});
		
		JButton btnUsunKlub = new JButton("Usun Klub");
		btnUsunKlub.setBounds(10, 89, 135, 23);
		panel_1.add(btnUsunKlub);
		btnUsunKlub.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
		     usun();
		     odswiez();
		
			}
		});
		JButton btnZamkni = new JButton("Zamknij");
		
		btnZamkni.setBounds(280, 220, 135, 23);
		contentPane.add(btnZamkni);
		btnZamkni.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				zapis();			
			
			Zapis.zamkniPlikKlubu();
			Zapis.zamkniPlikDruzyny();
			Zapis.zamkniPlikZawodnika();
			Zapis.zamkniPlikTrenerow();
			Zapis.zamkniPlikPrezesa();
			dispose();
				
			}
		});
		
		JPanel panel = new JPanel();
		panel.setBounds(10, 61, 257, 195);
		contentPane.add(panel);
		panel.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255), 2), "Tabela", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setLayout(null);
		
	
		lista.setBounds(10, 21, 237, 163);
		panel.add(lista);
		lista.setListData(liga.liga);
	
     
	}
	void zapis()
	{
		int i=0;
		while(i< liga.liga.size())
		{
			
		Zapis.zapisDoPliku(Integer.toString(liga.zwrocKlub(i).getId()),liga.zwrocKlub(i).getNazwa(),Integer.toString(liga.zwrocKlub(i).getRokZalozenia()));
		if(liga.zwrocKlub(i).getPrezes()!=null)
		{
		Zapis.zapisDoPlikuPrezesow(Integer.toString(liga.zwrocKlub(i).getId()),liga.zwrocKlub(i).getPrezes().getImie(),liga.zwrocKlub(i).getPrezes().getNazwisko());
		}
		
		
		
		if(liga.zwrocKlub(i).getDruzyny().size()>0)
		{
		int j=0;
		while(j< liga.zwrocKlub(i).druzyny.size())
		{
			Zapis.zapisDoPlikuDruzyny(Integer.toString(liga.zwrocKlub(i).getId()),Integer.toString(liga.zwrocKlub(i).zwrocDruzyne(j).getId()),liga.zwrocKlub(i).zwrocDruzyne(j).getNazwa());
			if(liga.zwrocKlub(i).zwrocDruzyne(j).getTrener()!=null)
			{
			Zapis.zapisDoPlikuTrenerow(Integer.toString(liga.zwrocKlub(i).zwrocDruzyne(j).getId()),liga.zwrocKlub(i).zwrocDruzyne(j).getTrener().getImie(),liga.zwrocKlub(i).zwrocDruzyne(j).getTrener().getNazwisko(),Double.toString(liga.zwrocKlub(i).zwrocDruzyne(j).getTrener().getUmiejetnosc()));
			}
		if(liga.zwrocKlub(i).zwrocDruzyne(j).sklad.size()>0)
		{
		int k=0;
		while(k< liga.zwrocKlub(i).zwrocDruzyne(j).sklad.size())
		{
			Zapis.zapisDoPlikuZawodnika(Integer.toString(liga.zwrocKlub(i).zwrocDruzyne(j).getId()),Integer.toString(liga.zwrocKlub(i).zwrocDruzyne(j).zwrocZawodnika(k).getId()),liga.zwrocKlub(i).zwrocDruzyne(j).zwrocZawodnika(k).getImie(),liga.zwrocKlub(i).zwrocDruzyne(j).zwrocZawodnika(k).getNazwisko(),Integer.toString(liga.zwrocKlub(i).zwrocDruzyne(j).zwrocZawodnika(k).getWiek()),Double.toString(liga.zwrocKlub(i).zwrocDruzyne(j).zwrocZawodnika(k).getUmiejetnosc()));

			
				
				
			
			
				k++;
		}
		}
		j++;
		}
		}
		i++;
		}
	}
	void dodaj()
	{
		KlubGuiii klubgui = new KlubGuiii(this);
		klubgui.setVisible(true);
		Klub klub=new Klub();
		klubgui.setKlub(klub);
		

	}
	void edytuj()
	{
		KlubGuiii klubgui = new KlubGuiii(this);
		klubgui.setVisible(true);
		System.out.println(liga.getLiga().size());
		klubgui.setKlub(liga.zwrocKlub(getLista().getSelectedIndex()));
		klubgui.uzupelni();

	}
	
	void odswiez()
	{
		lista.setListData(liga.liga);
	}

	void usun()
	{
		liga.usunKlub(lista.getSelectedIndex());
	}


	public Liga getLiga() {
		return liga;
	}

	public void setLiga(Liga liga) {
		this.liga = liga;
	}


	public JList getLista() {
		return lista;
	}

	public void setLista(JList lista) {
		this.lista = lista;
	}
	

}
